Wireless communication apparatus and packet transfer method thereof

ABSTRACT

A WUSB host (or a WUSB device) transmits a combined information packet and a combined packet to the WUSB device (or the WUSB host). The combined information packet is specified with each packet length of a plurality of packets having a packet length other than a predetermined transfer unit or different packet length. The combined packet is the plurality of packets combined. At this time, the WUSB host transmits the combined information packet to a control endpoint included in the wireless USB device and transmits the combined packet to a bulk OUT endpoint. The WUSB device (or the WUSB host) divides the combined packet into the plurality of packets based on the combined information packet.

BACKGROUND

1. Field of the Invention

The present invention relates to a wireless communication apparatus anda packet transfer method thereof, and particularly to a wirelesscommunication apparatus and a packet transfer method thereof which aresuitable for communications between a host and a device according to thewireless USB (Universal Serial Bus) standard. In the subsequentexplanation, a wireless USB is referred to as a “WUSB” in order todistinguish from a USB that assumes wired connections.

2. Description of Related Art

Japanese Unexamined Patent Application Publication No. 2007-88775(Kogure) discloses a related technique for packet transfers in awireless communication system adopting the WUSB standard. This relatedtechnique will be described hereinafter with reference to FIG. 10.

A wireless communication system shown in FIG. 10 is composed of a PC(Personal Computer) 1, which is a host device, a host wire adapter(hereinafter sometimes referred to as an HWA) 2, which is a wirelesscommunication apparatus connected to the PC1, a USB device 3, and adevice wire adapter (hereinafter sometimes referred to as a DWA) 4,which is a wireless communication apparatus connected to the USB device3. Wireless communications are performed between the HWA 2 and the DWA4.

An example of the operation is described with a packet transfer from theUSB device 3 to the PC 1. First, the USB device 3 receives a datatransmit instruction from the PC1 via the HWA 2 and DWA 4. In responseto the data transmit instruction, the USB device 3 generates datapackets PD1 to PD3 to be sequentially provided to the DWA 4.

As shown in FIG. 10, assume that the data packets PD1 and PD2 have apredetermined transfer unit length, and the data packet PD3 is a shortpacket, whose length is less than the predetermined transfer unitlength. In this case, the DWA 4 determines that the data packet PD3 isthe last packet in this transfer and combines the data packets PD1 toPD3 to be transmitted to the HWA 2.

The HWA 2 divides the combined packet into the original data packets PD1to PD3 to be sequentially provided to the PC1.

SUMMARY

However, the inventor has found the problem in the abovementionedrelated technique that if data packets to be transferred include manyshort packets, the transfer efficiency of the data packet is reduced.This problem is described in detail with reference to FIGS. 11A and 11B.

FIG. 11A shows an operation example in the abovementioned relatedtechnique when the USB device 3 transfers the data packets PD1 to PD3,which are short packets, to the PC1. Further, FIG. 11B shows atransferring example of the data packets PD1 to PD3 from the DWA 4 tothe HWA 2 together with MMC (Micro-Scheduled Management Command) packetsP11 to P13 which are transferred from the HWA 2 to the DWA 4 prior totransferring the data packets PD1 to PD3. The MMC packets P11 to P13respectively specify data phase periods (channel time) DF1 to DF3, whichare transferable periods of the data packets PD1 to PD3 for the DWA 4.More specifically, each MMC packet includes control informationconcerning CTA (Channel Time Allocation), data transfer direction andapplication mode for each channel time. Namely, the MMC packet iscollections of token packets. As for the operation, the DWA 4 firstlyreceives the data packet PD1 from the USB device 3. As the packet lengthof the data packet PD1 is less than the transfer unit length, the DWA 4determines that the data packet PD1 is the last packet and transmits thedata packet PD1 to the HWA 2. At this time, as shown in FIG. 11B, theDWA 4 transfers the data packet PD1 within the data phase period DF1,which is specified by the MMC packet P11 received from the HWA 2.

Next, the DWA 4 receives the data packet PD2, which is less than thetransfer unit length, and transmits the data packet PD2 to the HWA 2within the data phase period DF2, which is specified by the MMC packetP12. Lastly, the DWA 4 receives the data packet PD3, which is less thanthe transfer unit length, and transfers the data packet PD3 to the HWA 2within the data phase period DF3, which is specified by the MMC packetP13.

In this way, the data packets PD1 to PD3, which are short packets, aretransferred in different data phase periods from each other. As shown inFIG. 11B, there is a predetermined blank period between the data phaseperiods, thereby requiring more transfer time as the number of shortpacket increases.

Moreover, the WUSB standard defines a method described below (the methodhereinafter sometimes referred to as a data burst method). In the databurst method, to one endpoint (communication buffer such as a memory ora register) included in the device wire adapter or a WUSB device whichincorporates a function equivalent to the device wire adapter, datapackets having a maximum packet length unit which is preliminarilyspecified to the one endpoint, or data packets from 512 to 3584 bytes inincrements of 512 bytes are continuously transferred as one transferunit within one data phase period. However, if any of the data packetsto be transferred is a short packet, a transfer process is divided everytime the short packet appears. Further, if the packet lengths of thedata packets satisfy the condition of the abovementioned transfer unitbut have different values (for example the packet lengths of the datapackets PD1 to PD3 are 512 bytes, 1024 bytes and 1536 bytes,respectively), the transfer process is divided at each data packet. As aresult, the transfer process is performed in different data phaseperiods by each of the division, thereby reducing the transferefficiency of the data packets.

Especially when composing a wireless communication system using a devicewire adapter, a host needs to transmit a transfer request packet forrequesting a data transfer to a USB device, which is connected to thedevice wire adapter, and confirm a transfer result packet received inresponse to the transfer request packet. Many short packets are used incommunications between hosts and devices. Thus the transfer requestpackets and transfer result packets are transmitted/received when theshort packets appear which divide the transfer operations. In connectionwith this, a transfer direction is frequently switched (the WiMediastandard adopted by the WUSB standard as a wireless communication methodrequires switching time of 10 μsec). Accordingly, the transferefficiency is further reduced. The above issue is not limited totransferring short packets but also applies when transferring datapackets of different packet lengths.

Furthermore, generally the same endpoint is used for transferring thetransfer request packet and the data packet. However the transferprocess is divided for the transfer request packet and the data packetas the packet lengths thereof are different from each other. Therefore,the transfer request packet and the data packet are transferred indifferent data phase periods and not transferred in one data phaseperiod. Specifically, as shown in FIG. 12A, upon transferring datapackets PD1 to PD4 in a downlink (OUT) direction from a host to adevice, a transfer request packet P51, the data packet PD1 and atransfer result packet P61, . . . , a transfer request packet P54, thedata packet PD4 and a transfer result packet P64 are transferred indifferent data phase periods.

In a packet transfer in an uplink (IN) direction, the same endpoint isused for transferring a transfer result packet, which indicates a dataobtained result from the USB device, and the data packet. Also in thiscase, the transfer process is divided for the transfer result packet andthe data packet as the packet lengths thereof are different from eachother. Therefore, the transfer request packet and the data packet aretransferred in different data phase periods. Specifically, as shown inFIG. 12B, the transfer request packet P51 and the transfer result packetP61, the data packet PD1, . . . , the transfer request packet P54 andthe transfer result packet P64, the data packet PD4 are transferred indifferent data phase periods.

Note that as another related technique, Japanese Unexamined PatentApplication Publication No. 2006-243866 (Matsuda) discloses acommunication method in which token packet and data packet from a hostare packaged to be transmitted from a host to a device wire adapter withthe aim of avoiding frequent retransmission of the same data packet.However, in the WUSB standard, the MMC packet, which packages severaltoken packets, and the data packet are separately transferred asmentioned above. Therefore, it is difficult to apply the communicationmethod disclosed by Matsuda to a wireless communication apparatus thatcarries out communications between a host and a device according to theWUSB standard.

An exemplary aspect of an embodiment of the present invention is awireless communication apparatus that includes a combined informationpacket transmitter that transmits a combined information packet toanother wireless communication apparatus. The combined informationpacket is specified with each packet length of a plurality of packetshaving a packet length other than a predetermined transfer unit ordifferent packet length. The wireless communication apparatus alsoincludes a combined packet transmitter that transmits a combined packetto the another wireless communication apparatus. The combined packet isthe plurality of packets combined.

Another exemplary aspect of an embodiment of the present invention is awireless communication apparatus that includes a combined packetreceiver that receives a combined information packet and a combinedpacket. The combined information packet is specified with each packetlength of a plurality of packets having a packet length other than apredetermined transfer unit or different packet length, and the combinedpacket is the plurality of packets combined. The wireless communicationapparatus also includes a combined packet divider that divides thecombined packet into the plurality of packets based on the combinedinformation packet.

Another exemplary aspect of an embodiment of the present invention is amethod of transferring packets that transmits a combined informationpacket to a wireless communication apparatus. The combined informationpacket is specified with each packet length of a plurality of packetshaving a packet length other than a predetermined transfer unit ordifferent packet length. The method also transmits a combined packet tothe wireless communication apparatus. The combined packet is theplurality of packets combined.

Another exemplary aspect of an embodiment of the present invention is amethod of transferring a packet that receives a combined informationpacket and a combined packet. The combined information packet isspecified with each packet length of a plurality of packets having apacket length other than a predetermined transfer unit or differentpacket length, and the combined packet is the plurality of packetscombined. The method also divides the combined packet into the pluralityof packets based on the combined information packet.

Namely, on the packet transmission side, short packets or packets withdifferent packet lengths are combined and transmitted together withpacket length information thereof. On the packet reception side, thepacket length information is referred to, so that the combined packet isdivided into the original packets. Therefore, each packet can betransferred within the same data phase period.

The present invention enables to largely reduce the packet transfer timeas compared to the abovementioned related technique and data burstmethod, thereby improving the packet transfer efficiency between a hostand a device.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other exemplary aspects, advantages and features will bemore apparent from the following description of certain exemplaryembodiments taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 is a block diagram showing a configuration example of a wirelesscommunication apparatus according to a first exemplary embodiment of thepresent invention;

FIGS. 2A to 2C show an example of a data packet transfer operation in anOUT direction from a host to a device in the wireless communicationapparatus according to the first exemplary embodiment of the presentinvention;

FIGS. 3A and 3B show an example of an effect achieved from reduced datapacket transfer time in the wireless communication apparatus accordingto the first exemplary embodiment of the present invention;

FIG. 4 shows an example of a data packet transfer operation in an INdirection from the device to the host in the wireless communicationsystem according to the first exemplary embodiment of the presentinvention;

FIG. 5 is a block diagram showing a configuration example of a wirelesscommunication apparatus according to a second exemplary embodiment ofthe present invention;

FIGS. 6A to 6C show an example of a data packet transfer operation in anOUT direction from a host to a device in the wireless communicationapparatus according to the second exemplary embodiment of the presentinvention;

FIG. 7 shows an example of a data packet transfer operation in an INdirection from the device to the host in the wireless communicationsystem according to the second exemplary embodiment of the presentinvention;

FIG. 8 is a block diagram showing a configuration example of a wirelesscommunication apparatus according to a third exemplary embodiment of thepresent invention;

FIG. 9 is a block diagram showing a configuration example of a wirelesscommunication apparatus according to a fourth exemplary embodiment ofthe present invention;

FIG. 10 is a sequence diagram showing an example of a data packettransfer operation in a wireless communication system according to arelated art;

FIGS. 11A and 11B are diagrams for explaining the problem of the relatedart; and

FIGS. 12A and 12B are time charts for explaining the problem of a datapacket transfer operation in a wireless communication system using adevice wire adapter.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

Hereafter, first to fourth exemplary embodiments of a wirelesscommunication apparatus according to the present invention will bedescribed with reference to FIGS. 1, 2A to 2C, 3A, 3B, 4, 5, 6A to 6C,and 7 to 9. In the drawings, components identical are denoted byreference numerals identical to those therein with duplicativedescription omitted as necessary for the clarity of the explanation.

First Exemplary Embodiment [Configuration Example]

A wireless communication system shown in FIG. 1 is composed of a PC 10,which functions as a WUSB host, and a WUSB device 20. Wirelesscommunications are performed between the PC 10 and the WUSB device 20.

Further, the PC 10 includes a CPU 110, a memory 120, chipsets 130 and140, and a WHCI (Wireless Host Controller Interface) 150. The CPU 110generates data packets to use various functions provided by the WUSBdevice 20. The CPU 110 executes combining process of several datapackets (the packet obtained by this process is hereinafter referred toas a combined packet), a generation process of a packet specified withpacket length information of each data packet (the packet hereinafterreferred to as a combined information packet), and a division process ofthe combined packet. The memory 120 stores the data packets. The chipset130 interconnects the CPU 110 and the memory 120. The chipset 140 isconnected to the chipset 130 via a DMI (Desktop Management Interface)bus or the like, and controls peripheral devices. The WHCI 150 isconnected to the chipset 140 via a PCI (Peripheral ComponentInterconnect) bus or a PCIe (PCI Express) bus.

The WHCI 150 includes a register 151, a WUSB host controller 152, aWiMedia MAC unit 153, and a WiMedia PHY unit 154. The register 151 isprovided in order to process commands and data. The WUSB host controller152 generates an MMC packet and transfers the combined informationpacket and the combined packet according to the commands from the CPU110. The WiMedia MAC unit 153 adds a MAC header respectively to the MMCpacket, the combined information packet, and the combined packet, whichare outputted from the controller 152, so as to generate a frame. TheMAC header is defined by the WiMedia standard. Further, the WiMedia MACunit 153 removes a MAC header of a frame received from the WUSB device20, so as to extract the combined information packet and the combinedpacket. The WiMedia PHY unit 154 converts the frame generated by the MACunit 153 into a wireless signal to transmit via an antenna ANT1.Further, The WiMedia PHY unit 154 converts the wireless signal receivedvia the antenna ANT1 into the frame.

Note that a device conformed to the SATA (Serial Advanced TechnologyAttachment) standard, a LAN (Local Area Network) device, a USB device,an audio device, and the like can be connected to the abovementionedchipset 140.

On the other hand, the WUSB device 20 includes a WiMedia PHY unit 210, aWiMedia MAC unit 220, a WUSB endpoint 230, a WUSB controller 240, and afunctional unit 250. The WUSB controller 240 generates the combinedinformation packet and the combined packet and divides the combinedpacket. The functional unit 250 provides various functions based on thedata packet (received from the PC 10) outputted from the controller 240.

A control endpoint 231, a bulk OUT endpoint 232, a bulk IN endpoint 233,and an interrupt IN endpoint 234 are provided in the WUSB endpoint 230.The control endpoint 231 is used for transmitting and receiving thecombined information packet. The bulk OUT endpoint 232 is used forreceiving the combined packet from the PC 10. The bulk IN endpoint 233is used for transmitting the combined packet to the PC 10. The interruptIN endpoint 234 is used for periodical notification to the PC 10, suchas a transfer status or the like. Note that the control endpoint 231 canbe used for transmitting/receiving request commands defined in the WUSBstandard or vendor-specific request commands in addition to the combinedinformation packet. Further, the WUSB endpoint 230 may include aplurality of bulk OUT endpoints and bulk IN endpoints and an endpointfor isochronous transfer etc.

[Operation Example]

An operation of this embodiment will be explained hereinafter. Firstly,an example (1) of a data packet transfer operation in the OUT directionfrom the PC 10 to the WUSB device 20 is described with reference toFIGS. 2A to 2C, 3A and 3B. Then, an example (2) of a data packettransfer operation in the IN direction is described with reference toFIG. 4.

[Data Packet Transfer Operation Example (1)]

First, the CPU 110 in the PC 10 generates a combined packet P3, which ismade up of “n” number of data packets PD1 to PDn being combined as shownin FIG. 2A, and a combined information packet P2, which is specifiedwith the combined number (=“n”) of data packets in the combined packetP3 and packet lengths of the data packets PD1 to PDn as shown in FIG.2B. Then the CPU 110 stores the generated combined packet P3 and thecombined information packet P2 in the memory 120. At this time, the CPU110 specifies to the register 151 in the WHCI 150 a command instructingto transmit the combined information packet P2 and the combined packetP3 to the WUSB device 20. The WUSB host controller 152 recognizes thatthe command is specified and reads out the combined information packetP2 and the combined packet P3, which are stored in the memory 120, tothe register 151 via the chipsets 130 and 140. The data packets PD1 toPDn are short packets less than transfer units defined by the WUSBstandard (which are 512 bytes, 1024 bytes, 1536 bytes, 2048 bytes, 2560bytes, 3072 bytes and 3584 bytes) or the maximum packet lengthpreliminarily specified to the bulk OUT endpoint 232, or packets ofdifferent packet lengths.

Further, before transmitting the combined information packet P2 and thecombined packet P3, the WUSB host controller 152 generates an MMC packetP1 to be provided to the WiMedia MAC unit 153. As shown in FIG. 2A, theMMC packet P1 includes an information element W_(DR)CTA[1] regardingchannel time which is allocated for transmitting the combinedinformation packet P2, an information element W_(DR)CTA[2] regardingchannel time which is allocated for transmitting the combined packet P3,and an information element W_(DT)CTA regarding channel time which isallocated for receiving a handshake packet (acknowledgement ACK) fromthe WUSB device 20. The WiMedia MAC unit 153 adds a MAC header to theMMC packet P1. Then the WiMedia PHY unit 154 converts the MMC packet P1into a wireless signal to be transmitted to the WUSB device 20. Notethat the header in the MMC packet P1 includes transmission time of thenext MMC packet, identification information indicating of the MMCpacket, and the like.

The information elements W_(DR)CTA[1], W_(DR)CTA[2] and W_(DT)CTA havethe format shown in FIG. 2C. The identification number of the controlendpoint 231 shown in FIG. 1, the code value indicating of W_(DR)CTA,and time obtained by adding predetermined guard time T1 to transmissioncompletion time of the MMC packet P1 are respectively specified to theendpoint number, the block type, and the transmission start time in theinformation element W_(DR)CTA[1]. The identification number of the bulkOUT endpoint 232, the code value indicating of W_(DR)CTA, and timeobtained by adding the guard time T1 to transmission completion time ofthe MMC packet P2 are respectively specified to the endpoint number, theblock type, and the transmission start time in the information elementW_(DR)CTA[2]. Further, the identification number of the bulk OUTendpoint 232, the code value indicating of W_(DT)CTA, and time obtainedby adding SIFS (Short Inter-frame Spacing) time, which is theabovementioned switching time T2 of the transfer direction, to thetransmission completion time of the combined packet P3 are respectivelyspecified to the endpoint number, the block type, and the transmissionstart time in the information element W_(DT)CTA.

Then, at the transmission start time specified in the informationelement W_(DR)CTA[1] the WUSB host controller 152 transmits the combinedinformation packet P2 to the WUSB device 20 via the WiMedia MAC unit 153and the WiMedia PHY unit 154. Thus in the WUSB device 20, the combinedinformation packet P2 is stored in the control endpoint 231 via theWiMedia PHY unit 210 and the WiMedia MAC unit 220.

After that, at the transmission start time specified in the informationelement W_(DR)CTA[2] the WUSB controller 152 transmits the combinedpacket P3 to the WUSB device 20. Thus in the WUSB device 20, thecombined packet P3 is stored in the bulk OUT endpoint 232.

The WUSB controller 240 in the WUSB device 20 recognizes that thecombined information packet P2 and the combined packet P3 arerespectively stored in the control endpoint 231 and the bulk OUTendpoint 232. Then the WUSB controller 240 refers to the combined numberand each packet length, which are specified in the combined informationpacket P2, in order to divide the combined packet P3 into the originaldata packets PD1 to PDn to be provided to the functional unit 250.

Further, the WUSB controller 240 generates an ACK packet P4 to be storedin the bulk OUT endpoint 232. The WiMedia MAC unit 220 recognizes thatthe ACK packet is stored and then transmits the ACK packet P4 to the PC10 via the WiMedia PHY unit 210. Thus the ACK packet P4 reaches to theCPU 110 in the PC 10. Specifically, the WUSB host controller 152 storesthe ACK packet P4 in the register 151 and generates interrupt to the CPU110, thereby completing the transfer.

In this way, short packets or packets with different packet lengths canbe transferred from the PC 10 to the WUSB device 20 within the same dataphase period. The bulk OUT endpoint 232 is used for transferring thecombined packet P3, while the control endpoint 231 is used fortransferring the combined information packet P2. Therefore, the combinedinformation packet P2 and the combined packet P3 can be transferredwithin the same data phase period. Note that if there are several bulkOUT endpoints, different bulk OUT endpoints can be used for transferringthe combined information packet P2 and the combined packet P3.

Accordingly, in this embodiment, the time required to transfer datapackets in the OUT direction can be largely reduced as compared to theabovementioned related technique and data burst method.

To be more specific, in the abovementioned related technique and databurst method, consider an example where 4 data packets PD1 to PD4 to betransferred are short packets of 511 bytes, 510 bytes, 509 bytes, and508 bytes respectively as shown in FIG. 3A. To transfer the data packetPD1, it takes the total time of “86.125 μsec” obtained by adding thetransfer time of the MMC packet P11=“26.25 μsec”, the guard time T1=“3μsec”, the transfer time of the data packet PD1=“22.5 μsec” (where thedata packet PD1 is transferred at the maximum transmission speed in thecurrent WUSB standard, which is “480 Mbps”), the SIFS time T2=“10 μsec”,and the transfer time of an ACK packet P41=“24.375 μsec”. The MMC packetP11 includes the information element W_(DR)CTA which is specified withthe transmission start time of the data packet PD1 by the host and theinformation element W_(DT)CTA which is specified with the transmissionstart time of the ACK packet P41 by the device. Same transfer time isrequired for the data packets PD2 to PD4. However as described above,the data packets PD1 to PD4 are transferred in different data phaseperiods which are specified by the MMC packets P11 to P14. Therefore, ifthe transmission interval of the MMC packets is “128 μsec”, it takes“512 μsec (128 μsec×4)” to transfer the data packets PD1 to PD4.

On the other hand, in this embodiment, it takes the total time of“137.875 μsec” (>the transmission interval “128 μsec” of the MMC packetshown in FIG. 3A) to transfer the same data packets PD1 to PD4 as shownin FIG. 3B. This total time is obtained by adding the transfer time ofthe MMC packet P11=“26.25 μsec” (the transfer time is practically thesame even with one additional information element as it has a smallamount of information), the guard time T1=“3 μsec”, the transfer time ofthe combined information packet P2=“22.5 μsec”, the guard time T1=“3μsec”, the transfer time of the combined packet P3 of 2038 bytes (511bytes+510 bytes+509 bytes+508 bytes)=“48.75 μsec”, the SIFS time T2=“10μsec”, and the transfer time of the ACK packet P41=“24.375 μsec”. TheMMC packet P11 includes the information element W_(DR)CTA[1] which isspecified with the transmission start time of the combined informationpacket P2, the information element W_(DR)CTA[2] which is specified withthe transmission start time of the combined packet P3, and theinformation element W_(DT)CTA which is specified with the transmissionstart time of the ACK packet P41. In this case, it is necessary tochange the transmission interval of the MMC packets to “256 μsec”.However, the transfer time of the data packets PD1 to PD4 can be reducedto “256 μsec (512 μsec−256 μsec)” as compared to FIG. 3A (in otherwords, the transfer efficiency can be doubled). This effect appearsbetter as the combined number of data packets increases. Note that inthis example, the combined information packet P2 is a packet of 10 byteswhere the combined number “4”, and packet lengths of the data packetsPD1 to PD4 “511 bytes”, “510 bytes”, “509 bytes” and “508 bytes” arerespectively represented by 2 bytes.

[Data Packet Transfer Operation Example (2)]

As for the data packet transfer operation in the IN direction, the WUSBhost controller 152 in the PC 10 shown in FIG. 1 firstly generates theMMC packet P1 to be transmitted to the WUSB device 20 via the WiMediaMAC unit 153 and the WiMedia PHY unit 154. As shown in FIG. 4, the MMCpacket P1 includes the information element W_(DT)CTA[1] regardingchannel time allocated for receiving the combined information packet P2from the WUSB device 20 and the information element W_(DT)CTA[2]regarding channel time allocated for receiving the combined packet P3.Note that the WUSB host controller 152 generates the MMC packet P1 by areception of the command from the CPU 110 (command specification to theregister 151) as a trigger.

The identification number of the control endpoint 231, the code valueindicating of W_(DT)CTA, and time obtained by adding the SIFS T2 to thetransmission completion time of the MMC packet P1 are respectivelyspecified to the endpoint number, the block type, and the transmissionstart time (see FIG. 2C) in the information element W_(DT)CTA[1]. Theidentification number of the bulk IN endpoint 233, the code valueindicating of W_(DT)CTA, and time obtained by adding the guard time T1to the transmission completion time of the combined information packetP2 are respectively specified to the endpoint number, the block type,and the transmission start time in the information element W_(DT)CTA[2].

On the other hand, the functional unit 250 in the WUSB device 20generates “n” number of data packets PD1 to PDn shown in FIG. 4 to beprovided to the WUSB controller 240. The data packets PD1 to PDn areshort packets less than the transfer units defined by the WUSB standardor the maximum packet length preliminarily specified to the bulk INendpoint 233, or packets of different packet lengths.

Then, at the transmission start time specified by the informationelement W_(DT)CTA[1] the WUSB controller 240 generates the combinedinformation packet P2, which is specified with the combined number(=“n”) of data packets PD1 to PDn and packet length of each data packetsPD1 to PDn. Then the WUSB controller 240 stores the combined informationpacket P2 in the control endpoint 231. Thus the combined informationpacket P2 is transmitted to the PC 10 via the WiMedia MAC unit 220 andthe WiMedia PHY unit 210.

After that, at the transmission start time specified by the informationelement W_(DT)CTA[2], the WUSB controller 240 generates the combinedpacket P3, which is combined data packets PD1 to PDn. Then the WUSBcontroller 240 stores the combined packet P3 in the bulk IN endpoint233. Thus the combined packet P3 is transmitted to the PC 10.

The WUSB host controller 152 in the PC 10 receives the combinedinformation packet P2 and the combined packet P3 to be stored in theregister 151 and generates interrupt to the CPU 110. The CPU 110 refersto the combined number and packet lengths which are specified in thecombined information packet P2 in order to divide the combined packet P3into the original data packets PD1 to PDn to be sequentially processed.

In this way, short packets or packets with different packet lengths canbe transferred from the WUSB device 20 to the PC 10 within the same dataphase period. The bulk IN endpoint 233 is used for transferring thecombined packet P3, while the control endpoint 231 is used fortransferring the combined information packet P2. Therefore, the combinedinformation packet P2 and the combined packet P3 can be transferredwithin the same data phase period. Note that if there are several bulkIN endpoints, different bulk IN endpoints can be used for transferringthe combined information packet P2 and the combined packet P3.

Accordingly, the time required to transfer data packets in the INdirection can be largely-reduced as in the OUT direction as compared tothe abovementioned related technique and data burst method.

Second Exemplary Embodiment [Configuration Example]

A wireless communication system shown in FIG. 5 is different from thefirst exemplary embodiment in that a device wire adapter (DWA) 30 and“k” number of USB devices 40_1 to 40 _(—) k (hereinafter sometimescollectively referred to as the code 40) connected to the adapter 30 areused instead of the WUSB device 20 shown in FIG. 1. In this wirelesscommunication system, wireless communications are performed between thePC 10 and the DWA 30.

The USB devices 40_1 to 40 _(—) k each include USB buffers 410_1 to 410_(—) k (hereinafter sometimes collectively referred to as the code 410)provided between the DWA 30, USB endpoints 430_1 to 420 _(—) k(hereinafter sometimes collectively referred to as the code 420), andfunctional units 430_1 to 430 _(—) k (hereinafter sometimes collectivelyreferred to as the code 430) which provide various functions to the PC10.

Further, the DWA 30 includes a WiMedia PHY unit 310, a WiMedia MAC unit320 and a WUSB endpoint 330 as with the WUSB device 20, and includes “m”number of remote pipes 340_1 to 340 _(—) m (hereinafter referred to asRPIPE and sometimes collectively referred to as the code 340), a WUSBcontroller 350, a USB host controller 360, and a USB buffer 370 providedbetween the USB device 40. The RPIPE 340 is provided for communicationwith the USB endpoint 420 included in the USB device 40. The WUSBcontroller 350 controls reading out and writing from/to the WUSBendpoint 330 and the RPIPE 340, generates the combined informationpacket, and generates and divides the combined packet. The USB hostcontroller 360 controls the USB device 40.

[Operation Example]

An operation of this embodiment will be explained hereinafter. Firstly,an example (1) of a data packet transfer in the OUT direction from thePC 10 to the DWA 30 is described with reference to FIGS. 6A to 6C. Thenan example (2) of a data packet transfer in the IN direction isdescribed with reference to FIG. 7.

[Data Packet Transfer Operation Example (1)]

First, as shown in FIG. 6A, the CPU 110 in the PC 10 combines a transferrequest packet P5 which requests the DWA 30 to transfer data to the USBdevice 40 and “n” number of data packets PD1 to PDn, thereby generatinga combined packet P3 a. As shown in FIG. 6B, the CPU 110 generates acombined information packet P2 a, which is specified with the combinednumber of packets in the combined packet P3 a (=transfer request packetnumber “1”+data packet number “n”), a packet length of the transferrequest packet P5, and packet lengths of the data packets PD1 to PDn. Aswith the first exemplary embodiment, the CPU 110 stores the combinedinformation packet P2 a and the combined packet P3 a in the memory 120.Then the WUSB controller 152 reads them out from the memory 120. Thedata packets PD1 to PDn are short packets less than the transfer unitsdefined by the WUSB standard or the maximum packet length preliminarilyspecified to the bulk OUT endpoint 332, or packets of different packetlengths.

As shown in FIG. 6C, the identification number of the RPIPE, the size ofdata transferred to the RPIPE (which is the total size of the datapackets PD1 to PDn), a transfer direction (the OUT direction in thisexample), and the like are specified in the transfer request packet P5.Note that the CPU 110 controls the WUSB host controller 152 uponexecuting an initialization process or the like, thereby obtaining acorrespondence relationship between the identification number of theRPIPE and the USB endpoint 420 in the USB device 40.

Further, before transmitting the combined information packet P2 a andthe combined packet P3 a, the WUSB host controller 152 generates the MMCpacket P1 to be transmitted to the DWA 30 via the WiMedia MAC unit 153and the WiMedia PHY unit 154. As shown in FIG. 6A, the MMC packet 1includes an information element W_(DR)CTA[1] regarding channel timewhich is allocated for transmitting the combined information packet P2a, an information element W_(DR)CTA[2] regarding channel time which isallocated for transmitting the combined packet P3 a, and an informationelement W_(DT)CTA regarding channel time which is allocated forreceiving a transfer result packet P6 from the DWA 30.

The identification number of the control endpoint 331, the code valueindicating of W_(DR)CTA, and time obtained by adding the predeterminedguard time T1 to the transmission completion time of the MMC packet P1are respectively specified to the endpoint number, the block type, andthe transmission start time (see FIG. 2C) in the information elementW_(DR)CTA[1]. The identification number of the bulk OUT endpoint 332,the code value indicating of W_(DR)CTA, and time obtained by adding theguard time T1 to the transmission completion time of the combinedinformation packet P2 a are respectively specified to the endpointnumber, the block type, and the transmission start time in theinformation element W_(DR)CTA[2]. Further, the identification number ofthe bulk IN endpoint 333, the code value indicating of W_(DT)CTA, andtime obtained by adding the SIFS time T2 to the transmission completiontime of the combined packet P3 a are respectively specified to theendpoint number, the block type, and the transmission start time in theinformation element W_(DT)CTA.

After that, at the transmission start time specified in the informationelement W_(DR)CTA[1], the WUSB controller 152 transmits the combinedinformation packet P2 a to the DWA 30 via the WiMedia MAC unit 153 andthe WiMedia PHY unit 154. Then in the DWA 30, the combined informationpacket P2 a is stored in the control endpoint 331 via the WiMedia PHYunit 310 and the WiMedia MAC unit 320.

At the transmission start time specified in the information elementW_(DR)CTA[2], the WUSB host controller 152 transmits the combined packetP3 a to the DWA 30. Thus in the DWA 30, the combined packet P3 a isstored in the bulk OUT endpoint 332.

The WUSB controller 350 in the DWA 30 recognizes that the combinedinformation packet P2 a and the combined packet P3 a are respectivelystored in the control endpoint 331 and the bulk OUT endpoint 332. Thenthe WUSB controller 350 refers to the combined number and each of thepacket lengths, which are specified in the combined information packetP2 a, in order to divide the combined packet P3 a into the originaltransfer request packet P5 and data packets PD1 to PDn.

At this time, the WUSB controller 350 stores the data packets PD1 to PDnin the RPIPE corresponding to the identification number specified in thetransfer request packet P5 and notifies to the USB host controller 360that the data packets are stored. The USB host controller 360 reads outthe data packets PD1 to PDn from the RPIPE and provides them to the USBdevice 40 via the USB buffer 370.

Further, the WUSB controller 350 generates a transfer result packet P6to be stored in the bulk IN endpoint 333. The WiMedia MAC unit 320recognizes that the transfer result packet is stored and then transmitsthe transfer result packet P6 to the PC10 via the WiMedia PHY unit 310.Thus the transfer result packet P6 reaches to the CPU 110 in the PC 10.

In this way, short packets or packets with different packet lengths canbe transferred together with the transfer request packet from the PC 10to the DWA 30 within the same data phase period. The bulk OUT endpoint332 is used for transferring the combined packet P3 a, while the controlendpoint 331 is used for transferring the combined information packet P2a. Therefore, the combined information packet P2 a and the combinedpacket P3 a can be transferred within the same data phase period. Notethat if there are several bulk OUT endpoints, different bulk OUTendpoints can be used for transferring the combined information packetP2 a and the combined packet P3 a.

Accordingly, in this embodiment, even when composing a wirelesscommunication system using a device wire adapter, the time required totransfer data packets in the OUT direction can be largely reduced ascompared to the abovementioned related technique and data burst method(especially to FIG. 12A).

[Data Packet Transfer Operation Example (2)]

As for the transfer data packet transfer operation in the IN direction,the CPU 110 in the PC 10 shown in FIG. 5 firstly generates the transferrequest packet P5 (shown in FIG. 7) to the DWA 30. This transfer requestpacket P5 is once stored in the memory 120. By a reception of thecommand from the CPU 110 as a trigger, the WUSB host controller 152generates the MMC packet P1 (shown in FIG. 7) to be transmitted to theDWA 30 via the WiMedia MAC unit 153 and the WiMedia PHY unit 154. TheMMC packet P1 includes the information element W_(DR)CTA regardingchannel time which is allocated for transmitting the transfer requestpacket P5, the information element W_(DT)CTA[1] regarding channel timewhich is allocated for receiving the combined information packet P2 bfrom the DWA 30, and the information element W_(DT)CTA[2] regardingchannel time which is allocated for receiving the combined packet P3 b.

The identification number of the bulk OUT endpoint 332, the code valueindicating of W_(DR)CTA, and the time obtained by adding the guard timeT1 to the transmission completion time of the MMC packet P1 arerespectively specified to the endpoint number, the block type, and thetransmission start time (see FIG. 2C) in the information elementW_(DR)CTA. The identification number of the control endpoint 331, thecode value indicating of W_(DT)CTA, and the time obtained by adding theSIFS time T2 to the transmission completion time of the transfer requestpacket P5 are respectively specified to the endpoint number, the blocktype, and the transmission start time in the information elementW_(DT)CTA[1]. Further, the identification number of the bulk IN endpoint333, the code value indicating of W_(DT)CTA, and the time obtained byadding the guard time T1 to the transmission completion time of thecombined information packet P2 b are respectively specified to theendpoint number, the block type, and the transmission start time in theinformation element W_(DT)CTA[2].

At the transmission start time specified in the information elementW_(DR)CTA, the WUSB host controller 152 transmits the transfer requestpacket P5, which is read out from the memory 120, to the DWA 30.

The USB host controller 360 in the DWA 30 receives the transfer requestpacket P5, obtains “n” number of data packets PD1 to PDn shown in FIG. 7from the USB device 40, and stores them in the RPIPE 340 as well asnotifying the obtained result of the data packets to the WUSB controller350. The data packets PD1 to PDn are short packets less than thetransfer units defined by the WUSB standard or the maximum packet lengthpreliminarily specified to the bulk IN endpoint 333, or packets ofdifferent packet lengths.

The WUSB controller 350 combines the data packets PD1 to PDn read outfrom the RPIPE 340, and the transfer result packet P6 which is specifiedwith the obtained result of the data packets notified from the USB hostcontroller 360, thereby generating the combined packet P3 b. Further, asshown in FIG. 7, the WUSB controller 350 generates the combinedinformation packet P2 b, which is specified with the combined packetnumber in the combined packet P3 b (=transfer result packet number“1”+data packet number “n”), a packet length of the transfer resultpacket P6, and packet lengths of the data packets PD1 to PDn.

At the transmission start time specified by the information elementW_(DT)CTA[1], the WUSB controller 350 stores the combined informationpacket P2 b in the control endpoint 331. Thus the combined informationpacket P2 b is transmitted to the PC 10 via the WiMedia MAC unit 320 andthe WiMedia PHY unit 310.

After that, at the transmission start time specified by the informationelement W_(DT)CTA[2], the WUSB controller 350 stores the combined packetP3 b in the bulk IN endpoint 333. Thus the combined packet P3 b istransmitted to the PC 10.

The WUSB host controller 152 in the PC 10 receives the combinedinformation packet P2 b and the combined packet P3 b to be stored in theregister 151 and generates interrupt to the CPU 110. The CPU 110 refersto the combined number and the packet lengths which are specified in thecombined information packet P2 b in order to divide the combined packetP3 b into the original transfer result packet P6 and data packets PD1 toPDn to be sequentially processed.

In this way, short packets or packets with different packet lengths canbe transferred together with the transfer result packet from the DWA 30to the PC 10 within the same data phase period. The bulk IN endpoint 333is used for transferring the combined packet P3 b, while the controlendpoint 331 is used for transferring the combined information packet P2b. Therefore, the combined information packet P2 b and the combinedpacket P3 b can be transferred within the same data phase period. Notethat if there are several bulk IN endpoints, different bulk IN endpointscan be used for transferring the combined information packet P2 b andthe combined packet P3 b.

Accordingly, even when composing a wireless communication system using adevice wire adapter, the time required to transfer data packets in theIN direction can be largely reduced as in the OUT direction as comparedto the abovementioned related technique and data burst method(especially to FIG. 12B).

Third Exemplary Embodiment

A wireless communication system shown in FIG. 8 is different from thefirst exemplary embodiment in that a host wire adapter (HWA) 50 is usedinstead of the WHCI 150 shown in FIG. 1. The HWA 50 is connected to thechipset 140 via a USB protocol. In this wireless communications system,wireless communications are performed between the HWA 50 and the DWA 30.

The HWA 50 is controlled as a USB device by a USB host controller (notshown) in the chipset 140 (namely, the PC 10 functions as a USB host).The HWA 50 includes a USB buffer 510 provided between the PC 10, a USBendpoint 520, a RPIPE 530, a USB controller 540, a WUSB host controller550, a WiMedia MAC unit 560, and a WiMedia PHY unit 570. The USBcontroller 540 controls reading out and writing from/to the USB endpoint520 and the RPIPE 530. The WUSB host controller 550 generates the MMCpacket and transfers the combined information packet and the combinedpacket.

As for a data packet transfer operation in the OUT direction from theHWA 50 to the WUSB device 20, the combined information packet and thecombined packet generated by the CPU 110 in the PC 10 are firstly storedin the USB endpoint 520 via the USB buffer 510. The USB controller 540recognizes that the combined information packet and the combined packetare stored. Then the USB controller 540 reads out the combinedinformation packet and the combined packet stored in the USB endpoint520 and stores them in the RPIPE 530. At the same time, the USBcontroller 540 notifies to the WUSB host controller 550 that thecombined information packet and the combined packet are stored in theRPIPE 530. As with the USB host controller 152 shown in FIG. 1, the WUSBhost controller 550 transmits the combined information packet and thecombined packet respectively to the control endpoint 231 and the bulkOUT endpoint 232 in the WUSB device 20. As with the first exemplaryembodiment, the WUSB device 20 obtains the original data packets fromthe combined packet.

On the other hand, as for a data packet transfer operation in the INdirection, in a similar way as the WUSB host controller 152 shown inFIG. 1, the WUSB host controller 550 receives the combined informationpacket and the combined packet from the WUSB device 20 and stores themin the RPIPE 530. The USB controller 540 recognizes that the combinedinformation packet and the combined packet are stored. Then the USBcontroller 540 reads out the combined information packet and thecombined packet stored in the RPIPE 530 and stores them in the USBendpoint 520, thereby providing the combined information packet and thecombined packet to the PC 10 via the USB buffer 510. As with the firstexemplary embodiment, the CPU 110 in the PC 10 obtains the original datapackets from the combined packet.

As with the abovementioned first exemplary embodiment, the time requiredto transfer data packets can be largely reduced as compared to theabovementioned related technique and data burst method.

Fourth Exemplary Embodiment

A wireless communication system shown in FIG. 9 is composed of the PC10and the HWA 50 shown in FIG. 8, and the DWA 30 and the USB device 40shown in FIG. 5. Wireless communications are performed between the HWA50 and the DWA 30.

As for the operation, the CPU 110 in the PC 10, the WUSB host controller550 in the HWA 50, and the DWA 30 execute the processes explained in thesecond exemplary embodiment. Further, the WUSB host controller 550 alsointeroperates with the USB controller 540 explained in the thirdexemplary embodiment.

Accordingly, as with the second exemplary embodiment, even whencomposing a wireless communication system using a device wire adapter,the data packet transfer time can be largely reduced as compared to theabovementioned related technique and data burst method (especially toFIGS. 12A and 12B).

While the invention has been described in terms of several exemplaryembodiments, those skilled in the art will recognize that the inventioncan be practiced with various modifications within the spirit and scopeof the appended claims and the invention is not limited to the examplesdescribed above.

Further, the scope of the claims is not limited by the exemplaryembodiments described above.

Furthermore, it is noted that, Applicant's intent is to encompassequivalents of all claim elements, even if amended later duringprosecution.

The first to fourth exemplary embodiments can be combined as desirableby one of ordinary skill in the art.

1. A wireless communication apparatus comprising: a combined informationpacket transmitter that transmits a combined information packet toanother wireless communication apparatus, the combined informationpacket being specified with each packet length of a plurality of packetshaving a packet length other than a predetermined transfer unit ordifferent packet length; and a combined packet transmitter thattransmits a combined packet to the another wireless communicationapparatus, the combined packet being the plurality of packets combined.2. The wireless communication apparatus according to claim 1, whereinthe another wireless communication apparatus is a wireless USB(Universal Serial Bus) device or a device wire adapter connected with aUSB device, the combined information packet transmitter transmits thecombined information packet to a first endpoint included in the wirelessUSB device or the device wire adapter, and the combined packettransmitter transmits the combined packet to a second endpoint includedin the wireless USB device or the device wire adapter.
 3. The wirelesscommunication apparatus according to claim 2, wherein the first endpointis an endpoint for control, and the second endpoint is an endpoint forreceiving data.
 4. The wireless communication apparatus according toclaim 1, wherein the another wireless communication apparatus is adevice wire adapter connected with a USB device, and the plurality ofpackets include a packet that requests to transfer data to the USBdevice.
 5. The wireless communication apparatus according to claim 1,wherein the wireless communication apparatus obtains the plurality ofpackets from a USB device connected to the apparatus itself.
 6. Thewireless communication apparatus according to claim 5, wherein thecombined information packet transmitter includes in the combinedinformation packet a packet length of a packet indicating a dataobtained result from the USB device, and the combined packet transmittercombines the plurality of packets with the packet indicating the dataobtained result.
 7. A wireless communication apparatus comprising: acombined packet receiver that receives a combined information packet anda combined packet, the combined information packet being specified witheach packet length of a plurality of packets having a packet lengthother than a predetermined transfer unit or different packet length, andthe combined packet being the plurality of packets combined; and acombined packet divider that divides the combined packet into theplurality of packets based on the combined information packet.
 8. Thewireless communication apparatus according to claim 7, wherein theanother wireless communication apparatus is a wireless USB device or adevice wire adapter connected with a USB device, and the combined packetreceiver receives the combined information packet and the combinedpacket respectively from a first endpoint and a second endpoint includedin the wireless USB device or the device wire adapter.
 9. The wirelesscommunication apparatus according to claim 8, wherein the first endpointis an endpoint for control, and the second endpoint is an endpoint fortransmitting data.
 10. A method of transferring packets comprising:transmitting a combined information packet to a wireless communicationapparatus, the combined information packet being specified with eachpacket length of a plurality of packets having a packet length otherthan a predetermined transfer unit or different packet length; andtransmitting a combined packet to the wireless communication apparatus,the combined packet being the plurality of packets combined.
 11. Themethod according to claim 10, wherein if the wireless communicationapparatus is a wireless USB device or a device wire adapter connectedwith a USB device, the method further comprising: transmitting thecombined information packet to a first endpoint included in the wirelessUSB device or the device wire adapter; and transmitting the combinedpacket to a second endpoint included in the wireless USB device or thedevice wire adapter.
 12. The method according to claim 11, wherein anendpoint for control is used as the first endpoint, and an endpoint forreceiving data is used as the second endpoint.
 13. The method accordingto claim 10, wherein if the wireless communication apparatus is a devicewire adapter connected with a USB device, the method further comprising:including in the plurality of packets a packet requesting to transferdata to the USB device.
 14. The method according to claim 10, whereinthe plurality of packets are obtained from a USB device.
 15. The methodaccording to claim 14, further comprising: including in the combinedinformation packet a packet length of a packet indicating a dataobtained result from the USB device; and combining the plurality ofpackets and the packet indicating the data obtained result.
 16. A methodof transferring packets comprising: receiving a combined informationpacket and a combined packet, the combined information packet beingspecified with each packet length of a plurality of packets having apacket length other than a predetermined transfer unit or differentpacket length, and the combined packet being the plurality of packetscombined; and dividing the combined packet into the plurality of packetsbased on the combined information packet.
 17. The method according toclaim 16, wherein if the wireless communication apparatus is a wirelessUSB device or a device wire adapter connected with a USB device, themethod further comprising: receiving the combined information packet andthe combined packet respectively from a first endpoint and a secondendpoint included in the wireless USB device or the device wire adapter.18. The method according to claim 17, wherein an endpoint for control isused as the first endpoint, and an endpoint for transmitting data isused as the second endpoint.